home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / comdem / commdemo.frm < prev    next >
Text File  |  1995-05-08  |  8KB  |  299 lines

  1. VERSION 2.00
  2. Begin Form CommDemo 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "Visual Basic Communication Demo"
  6.    ClientHeight    =   240
  7.    ClientLeft      =   1245
  8.    ClientTop       =   1770
  9.    ClientWidth     =   9090
  10.    FontBold        =   0   'False
  11.    FontItalic      =   0   'False
  12.    FontName        =   "MS Sans Serif"
  13.    FontSize        =   8.25
  14.    FontStrikethru  =   0   'False
  15.    FontTransparent =   0   'False
  16.    FontUnderline   =   0   'False
  17.    ForeColor       =   &H00000000&
  18.    Height          =   930
  19.    Icon            =   COMMDEMO.FRX:0000
  20.    Left            =   1185
  21.    LinkMode        =   1  'Source
  22.    LinkTopic       =   "Form1"
  23.    MaxButton       =   0   'False
  24.    ScaleHeight     =   240
  25.    ScaleWidth      =   9090
  26.    Top             =   1140
  27.    Width           =   9210
  28.    Begin Menu Menu_File 
  29.       Caption         =   "&File"
  30.       Begin Menu Menu_File_About 
  31.          Caption         =   "&About..."
  32.       End
  33.       Begin Menu Menu_File_Seperator 
  34.          Caption         =   "-"
  35.       End
  36.       Begin Menu Menu_File_Exit 
  37.          Caption         =   "E&xit"
  38.       End
  39.    End
  40.    Begin Menu Menu_Comm 
  41.       Caption         =   "&Communications"
  42.       Begin Menu Menu_Comm_Connect 
  43.          Caption         =   "&Connect"
  44.       End
  45.       Begin Menu Menu_Comm_Disconnect 
  46.          Caption         =   "&Disconnect"
  47.       End
  48.       Begin Menu Menu_Comm_Filler1 
  49.          Caption         =   "-"
  50.       End
  51.       Begin Menu Menu_Comm_Send_CRLF 
  52.          Caption         =   "&Send CR/LF for CR"
  53.       End
  54.    End
  55.    Begin Menu Menu_Settings 
  56.       Caption         =   "&Settings"
  57.       Begin Menu Menu_Settings_Port 
  58.          Caption         =   "&Port Settings..."
  59.       End
  60.       Begin Menu Menu_Settings_Line 
  61.          Caption         =   "&Line Settings..."
  62.       End
  63.       Begin Menu Menu_Settings_Event 
  64.          Caption         =   "&Event Settings..."
  65.       End
  66.    End
  67.    Begin Menu Menu_Windows 
  68.       Caption         =   "&Windows"
  69.       Enabled         =   0   'False
  70.       Begin Menu Menu_Window_Receive_Transmit 
  71.          Caption         =   "&Receive/Transmit Window..."
  72.       End
  73.    End
  74. End
  75.  
  76. Sub Form_Load ()
  77.  
  78.     Initialize
  79.  
  80.     Menu_Comm_Connect.Visible = True
  81.     Menu_Comm_Disconnect.Visible = False
  82.     
  83.     offset = 200
  84.  
  85.     CaptionLeft = offset
  86.     CaptionTop = offset
  87.     CaptionWidth = ScaleWidth - CaptionLeft - offset
  88.     CaptionHeight = TextHeight("qypgjXAQK") * 1.5
  89.  
  90.     UpdateCaption " Ready", 0
  91.  
  92.     Left = (Screen.width - width) / 2
  93.     top = Height - ScaleHeight
  94.     Height = top + CaptionTop + CaptionHeight + offset
  95.  
  96. End Sub
  97.  
  98. Sub Form_Paint ()
  99.     
  100.     Draw3d CaptionLeft, CaptionTop, CaptionWidth, CaptionHeight, CommDemo
  101.     UpdateCaption CaptionText$, 0
  102.  
  103. End Sub
  104.  
  105. Sub Form_Unload (Cancel As Integer)
  106.  
  107.     If CommHandle > -1 Then
  108.         Menu_Comm_Disconnect_click
  109.     End If
  110.  
  111.  
  112.     UpdateCaption " Terminating Communication Sampler II...", .5
  113.  
  114. End Sub
  115.  
  116. Sub Initialize ()
  117.     
  118.     IndexTrans = 0
  119.     IndexReceive = 0
  120.     
  121.     CommHandle = -1
  122.     CommDeviceNum = -1
  123.     
  124.     ' Default Port Settings
  125.  
  126.     CommPortName = "COM1:"
  127.     CommState.BaudRate = 9600
  128.     CommState.ByteSize = Chr$(8)
  129.     CommState.Parity = Chr$(0)
  130.     CommState.StopBits = Chr$(0)
  131.     
  132.     ' Default Line Settings
  133.  
  134.     CommRBBuffer = 2048
  135.     CommTBBuffer = 2048
  136.     CommState.RlsTimeOut = 0
  137.     CommState.CtsTimeOut = 0
  138.     CommState.DsrTimeOut = 0
  139.     CommEventMask = &H3FF
  140.     CommReadInterval = 500
  141.  
  142.     ' Post-Poned settings
  143.  
  144.     PostRBBuffer = CommRBBuffer
  145.     PostTBBuffer = CommTBBuffer
  146.     PostEventMask = CommEventMask
  147.     PostState = CommState
  148.     PostReadInterval = CommReadInterval
  149.     PostPortName = CommPortName
  150.  
  151. End Sub
  152.  
  153. Sub Menu_Comm_Connect_Click ()
  154.  
  155.     UpdateCaption " Opening Comm Port... " + CommPortName, .5
  156.  
  157.     CommTBBuffer = PostTBBuffer
  158.     CommRBBuffer = PostRBBuffer
  159.     CommPortName = PostPortName
  160.  
  161.     CommHandle = OpenComm(CommPortName, CommRBBuffer, CommTBBuffer)
  162.  
  163.     If CommHandle = -2 Then
  164.         result% = MsgBox("Port already Open!" + Chr$(13) + "Do you want to use it anyway ?", 4 + 16 + 256, "Communication Sampler II")
  165.         
  166.         If result% = 6 Then
  167.             ApiErr% = CloseComm(0)
  168.             CommHandle = OpenComm(CommPortName, CommRBBuffer, CommTBBuffer)
  169.         End If
  170.     End If
  171.  
  172.     If CommHandle < 0 Then
  173.         UpdateCaption " OpenComm() API Failed! (ERR " + Str$(CommHandle) + ")", .5
  174.     Else
  175.         Menu_Windows.enabled = True
  176.         Menu_Window_Receive_Transmit.Checked = True
  177.  
  178.         Receive.Show
  179.         
  180.         CommEventMask = PostEventMask
  181.         CommDeviceNum = Val(Mid$(CommPortName, 4, 1))
  182.         ApiErr% = SetCommEventMask(CommHandle, CommEventMask)
  183.  
  184.         PostState = CommState
  185.         CommState.Id = Chr$(CommHandle)
  186.  
  187.         ApiErr% = SetCommState(CommState)
  188.  
  189.         Menu_Comm_Connect.Visible = Menu_Comm_Disconnect.Visible
  190.         Menu_Comm_Disconnect.Visible = Not Menu_Comm_Connect.Visible
  191.         UpdateCaption " Commuications Port Opened...", .5
  192.         DisplayQBOpen CommState, CommPortName, CommRBBuffer, CommTBBuffer, CommReadInterval
  193.  
  194.         CommReadInterval = PostReadInterval
  195.         Receive.Receive_Timer.interval = CommReadInterval
  196.     End If
  197.  
  198. End Sub
  199.  
  200. Sub Menu_Comm_Disconnect_click ()
  201.  
  202.     UpdateCaption " Closing Communication Port...", 0
  203.  
  204.     Receive.Receive_Timer.interval = 0
  205.  
  206.     ApiErr% = CloseComm(CommHandle)
  207.     CommHandle = -1
  208.     CommDeviceNum = -1
  209.     
  210.     Menu_Comm_Disconnect.Visible = Menu_Comm_Connect.Visible
  211.     Menu_Comm_Connect.Visible = Not Menu_Comm_Disconnect.Visible
  212.     
  213.     Menu_Windows.enabled = False
  214.     Unload Receive
  215.     
  216.     UpdateCaption " Ready", 0
  217.  
  218. End Sub
  219.  
  220. Sub Menu_Comm_Send_CRLF_Click ()
  221.     Menu_Comm_Send_CRLF.Checked = Not Menu_Comm_Send_CRLF.Checked
  222. End Sub
  223.  
  224. Sub Menu_File_About_Click ()
  225.     
  226.     UpdateCaption " Loading Dialog...", 0
  227.  
  228.     AboutDlg.Show 1
  229.  
  230.     If Menu_Comm_Connect.Visible = True Then
  231.         UpdateCaption " Ready ", 0
  232.     Else
  233.         UpdateCaption " Communication Port Open...", 0
  234.     End If
  235.  
  236. End Sub
  237.  
  238. Sub Menu_File_Exit_Click ()
  239.  
  240.     Unload CommDemo
  241.  
  242. End Sub
  243.  
  244. Sub Menu_Settings_Event_Click ()
  245.     
  246.     UpdateCaption " Loading Dialog...", 0
  247.     
  248.     EventDlg.Show 1
  249.     
  250.     If Menu_Comm_Connect.Visible = True Then
  251.         UpdateCaption " Ready ", 0
  252.     Else
  253.         UpdateCaption " Communication Port Open...", 0
  254.     End If
  255.  
  256. End Sub
  257.  
  258. Sub Menu_Settings_Line_Click ()
  259.  
  260.     UpdateCaption " Loading Dialog...", 0
  261.     
  262.     LineDlg.Show 1
  263.     
  264.     If Menu_Comm_Connect.Visible = True Then
  265.         UpdateCaption " Ready ", 0
  266.     Else
  267.         UpdateCaption " Communication Port Open...", 0
  268.     End If
  269.     
  270. End Sub
  271.  
  272. Sub Menu_Settings_Port_Click ()
  273.     
  274.     UpdateCaption " Loading Dialog...", 0
  275.  
  276.     PortDlg.Show 1
  277.  
  278.     If Menu_Comm_Connect.Visible = True Then
  279.         UpdateCaption " Ready ", 0
  280.     Else
  281.         UpdateCaption " Communication Port Open...", 0
  282.     End If
  283.  
  284. End Sub
  285.  
  286. Sub Menu_Window_Receive_Transmit_Click ()
  287.  
  288.     Menu_Window_Receive_Transmit.Checked = Not Menu_Window_Receive_Transmit.Checked
  289.     
  290.     If Menu_Window_Receive_Transmit.Checked = True Then
  291.         Receive.Show
  292.         Receive.Receive_Timer.interval = CommReadInterval
  293.     Else
  294.         Receive.Hide
  295.     End If
  296.  
  297. End Sub
  298.  
  299.